package com.atguigu.gulimall.ware.service;

import com.atguigu.gulimall.ware.vo.MergeVo;
import com.atguigu.gulimall.ware.vo.PurchaseDoneVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.atguigu.common.utils.PageUtils;
import com.atguigu.gulimall.ware.entity.PurchaseEntity;

import java.util.List;
import java.util.Map;

/**
 * 采购信息
 *
 * @author chen
 * @email 2277411582@qq.com
 * @date 2022-09-21 15:10:45
 */
public interface PurchaseService extends IService<PurchaseEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 方法说明：
     *
     * @MethodName 合并采购需求,将采购的需求合并到采购单上
     * @Description    
     * @Author chenCheng
     * @EMAIL <2277411582@qq.com>
     * @Date 2022/9/29 17:46
     * @修改人及日期：
     * @修改说明：
     */
    void mergePurchase(MergeVo mergeVo);

    /**
     * 方法说明：
     *
     * @MethodName 查寻没有被领取的采购单
     * @Description    
     * @Author chenCheng
     * @EMAIL <2277411582@qq.com>
     * @Date 2022/9/29 18:21
     * @修改人及日期：
     * @修改说明：
     */
    PageUtils queryPageUnreceivePurchase(Map<String, Object> params);

    /**
     * 方法说明：
     *
     * @MethodName 采购人员领取采购单
     * @Description    
     * @Author chenCheng
     * @EMAIL <2277411582@qq.com>
     * @Date 2022/9/29 18:39
     * @修改人及日期：
     * @修改说明：
     */
    void received(List<Long> ids);

    /**
     * 方法说明：
     *
     * @MethodName 完成采购
     * @Description    
     * @Author chenCheng
     * @EMAIL <2277411582@qq.com>
     * @Date 2022/9/29 18:45
     * @修改人及日期：
     * @修改说明：
     */
    void done(PurchaseDoneVo doneVo);
}

